package m1;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

public class Producer {
    public static void main(String[] args) throws IOException, TimeoutException {
        //1.连接140服务器
        ConnectionFactory f = new ConnectionFactory();
        f.setHost("192.168.64.140");
        f.setPort(5672);
        f.setUsername("admin");
        f.setPassword("admin");
        Connection con = f.newConnection();
        //后面与服务器进行通信，都是用这个通信通道来进行通信
        Channel c = con.createChannel();

        //2.创建helloworld队列
        //在rabbitmq服务器上创建队列，如果队列已经存在，服务器不会重复创建
         /*
        参数：
           1.队列名
           2.是否是持久队列
           3.是否是排他队列（独占队列）
           4.是否自动删除队列，true-没有消费者时自动删除队列
           5.其他的属性配置
         */
        c.queueDeclare("helloworld",false,false,false,null);

        //3.向helloworld队列发送消息
         /*
        参数：
            1.""是一个默认的交换机(后面再解释)
            2.队列名
            3.消息的属性，没有属性给null值
            4.消息数据
         */
        c.basicPublish("","helloworld",null,"Hello world!".getBytes());//getBytes 字符串转数组
        System.out.println("消息发送完成");
        //4.断开连接
        c.close();
        con.close();
    }
}
